package br.com.ppc.modelo;

// default package
// Generated 06/07/2011 14:08:13 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Pessoa generated by hbm2java
 */
@Entity
@Table(name = "pessoa", catalog = "ppc")
public class Pessoa implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 287222934052601036L;
	private Long id;
	private String nome;
	private String email;
	private String senha;
	private String cpf;
	private String escolaridade;
	private Date dataNasc;
	private String telCel;
	private Set<Autor> autors = new HashSet<Autor>(0);
	private Administrador administrador;
	private Set<Coletor> coletors = new HashSet<Coletor>(0);

	public Pessoa() {
	}

	public Pessoa(String nome, String email, String senha, String cpf,
			String escolaridade, Date dataNasc, String telCel) {
		this.nome = nome;
		this.email = email;
		this.senha = senha;
		this.cpf = cpf;
		this.escolaridade = escolaridade;
		this.dataNasc = dataNasc;
		this.telCel = telCel;
	}

	public Pessoa(String nome, String email, String senha, String cpf,
			String escolaridade, Date dataNasc, String telCel,
			Set<Autor> autors, Administrador administrador,
			Set<Coletor> coletors) {
		this.nome = nome;
		this.email = email;
		this.senha = senha;
		this.cpf = cpf;
		this.escolaridade = escolaridade;
		this.dataNasc = dataNasc;
		this.telCel = telCel;
		this.autors = autors;
		this.administrador = administrador;
		this.coletors = coletors;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "nome", nullable = false, length = 50)
	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	@Column(name = "email", nullable = false, length = 50)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "senha", nullable = false, length = 50)
	public String getSenha() {
		return this.senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	@Column(name = "cpf", nullable = false, length = 50)
	public String getCpf() {
		return this.cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	@Column(name = "escolaridade", nullable = false, length = 50)
	public String getEscolaridade() {
		return this.escolaridade;
	}

	public void setEscolaridade(String escolaridade) {
		this.escolaridade = escolaridade;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "data_nasc", nullable = false, length = 10)
	public Date getDataNasc() {
		return this.dataNasc;
	}

	public void setDataNasc(Date dataNasc) {
		this.dataNasc = dataNasc;
	}

	@Column(name = "tel_cel", nullable = false, length = 50)
	public String getTelCel() {
		return this.telCel;
	}

	public void setTelCel(String telCel) {
		this.telCel = telCel;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "pessoa")
	public Set<Autor> getAutors() {
		return this.autors;
	}

	public void setAutors(Set<Autor> autors) {
		this.autors = autors;
	}

	@OneToOne(fetch = FetchType.LAZY, mappedBy = "pessoa")
	public Administrador getAdministrador() {
		return this.administrador;
	}

	public void setAdministrador(Administrador administrador) {
		this.administrador = administrador;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "pessoa")
	public Set<Coletor> getColetors() {
		return this.coletors;
	}

	public void setColetors(Set<Coletor> coletors) {
		this.coletors = coletors;
	}

}
